package br.com.assemble.hermeserp.model.pojos.pessoas;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import br.com.assemble.hermeserp.ejb.annotation.DaoClass;
import br.com.assemble.hermeserp.model.BasePojo;
import br.com.assemble.hermeserp.model.pojos.comercial.Vendedor;


/**
 * The persistent class for the PESSOAS_FISICAS database table.
 * 
 */
@Entity
@Table(name="PESSOAS_FISICAS")
@DaoClass(value="PessoaFisicaDao", pu="hermes-pu")
public class PessoaFisica extends BasePojo implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="PFS_IDENTIFY", unique=true, nullable=false)
	private BigInteger pfsIdentify;

	@Column(name="PFS_CPF", nullable=false)
	private BigInteger pfsCpf;

    @Temporal( TemporalType.DATE)
	@Column(name="PFS_DATA_NASCIMENTO")
	private Date pfsDataNascimento;

	@Column(name="PFS_RG", nullable=false)
	private BigInteger pfsRg;

	@Column(name="PFS_RG_UF", nullable=false, length=2)
	private String pfsRgUf;

	@Column(name="PFS_SEXO", nullable=false, length=1)
	private Integer pfsSexo;

	//bi-directional one-to-one association to Pessoa
	@OneToOne(mappedBy="pessoaFisica", fetch=FetchType.LAZY)
	private Pessoa pessoa;

	//bi-directional many-to-one association to Vendedor
	@OneToMany(mappedBy="pessoaFisica")
	private List<Vendedor> vendedorCollection;

    public PessoaFisica() {
    }

	public BigInteger getPfsIdentify() {
		return this.pfsIdentify;
	}

	public void setPfsIdentify(BigInteger pfsIdentify) {
		this.pfsIdentify = pfsIdentify;
	}

	public BigInteger getPfsCpf() {
		return this.pfsCpf;
	}

	public void setPfsCpf(BigInteger pfsCpf) {
		this.pfsCpf = pfsCpf;
	}

	public Date getPfsDataNascimento() {
		return this.pfsDataNascimento;
	}

	public void setPfsDataNascimento(Date pfsDataNascimento) {
		this.pfsDataNascimento = pfsDataNascimento;
	}

	public BigInteger getPfsRg() {
		return this.pfsRg;
	}

	public void setPfsRg(BigInteger pfsRg) {
		this.pfsRg = pfsRg;
	}

	public String getPfsRgUf() {
		return this.pfsRgUf;
	}

	public void setPfsRgUf(String pfsRgUf) {
		this.pfsRgUf = pfsRgUf;
	}

	public Integer getPfsSexo() {
		return this.pfsSexo;
	}

	public void setPfsSexo(Integer pfsSexo) {
		this.pfsSexo = pfsSexo;
	}

	public Pessoa getPessoa() {
		return this.pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}
	
	public List<Vendedor> getVendedorCollection() {
		return this.vendedorCollection;
	}

	public void setVendedorCollection(List<Vendedor> vendedorCollection) {
		this.vendedorCollection = vendedorCollection;
	}
	
}